Computers are used in many applications. As computing systems continue to evolve, the graphical display requirements of the systems become more demanding. This is especially true in applications where detailed graphical displays must be updated quickly. In many applications that utilize such detailed graphical displays, maintaining the detail of the display can consume vast amounts of memory storage space and processor bandwidth.
Computer displays and other high resolution display devices such as high definition televisions (HDTV), projectors, printers, plotters, and the like, present an image to the viewer as an array of individual picture elements, or pixels. The individual pixels are each given a specific color, which corresponds to the color of the image at the location of the particular pixel. The pixels are closely spaced, and the viewer's visual system performs a filtering of the individual pixel colors to form a composite image. If the partitioning of the image into individual pixel elements is performed properly, and the pixels are close enough together, the viewer perceives the displayed array of pixels as a virtually continuous image. Despite the views visual filtering, the viewer remains sensitive to aberrations in the image, and video graphic systems must be designed to minimize these aberrations.
In many systems, graphical images for display are sampled, and the image is regenerated based on the stored samples. When the conservation of the detail is important, oversampling is typically utilized in order to avoid aliasing in the reconstructed graphical image. Oversampling techniques are well known in the art. In an oversampling system, multiple samples of each screen element, or pixel, are stored. Although each pixel is rendered using only a single color value, each of the samples for that particular pixel are used in generating the final color. In effect, a much more detailed, or higher-resolution, version of the image is stored within the computer, and this version is used to generate each of the colors for the pixels displayed on the screen.
Conventional oversampling systems in video graphics systems can require huge amounts of memory. For example, if a system stores 8 samples for each particular pixel in memory and each sample includes 16 bits of color information and a 16-bit depth, or "Z", value, the memory requirements for a high-quality image which is 640.times.480 pixels is nearly 10 million bytes. The disadvantages of this amount of memory usage are apparent. First, the memory for such storage must be provided. Second, the memory accesses required to store and retrieve the data can consume large amounts of bandwidth within the computing system.
Consequently, a need exists for an antialiasing technique that makes more efficient use of memory resources.